$(document).ready(function() {
	
	renderDataTable();
	loadPackageName();
	
	$("#btnSave").click(function(){
		
		$('#error_message').addClass('hide');  
		$('#success_message').addClass('hide'); 
		
		var siteId = $('#inputSiteId').val();
		var siteName = $('#inputSiteName').val();
		var packageName = $("#inputPackageName option:selected").text();	
		
		if(siteId.trim().length == 0 || siteName.trim().length == 0)
		{
			$('#modal_content').html("กรุณากรอกข้อมูลให้ครบถ้วน");
			$('#warningModal').modal();
		}
		else if(isNaN(siteId.trim()) || siteId.indexOf(".") >= 0)
		{
			$('#modal_content').html("กรุณากรอกข้อมูลรหัสเป็นตัวเลขจำนวนเต็ม");
			$('#warningModal').modal();
		}
		else
		{
			var str = "คุณต้องการบันทึกข้อมูลลูกค้าที่ใช้บริการ<br>";
			str += "&nbsp;&nbsp;&nbsp;รหัส : &nbsp;" + siteId + "<br>";
			str += "&nbsp;&nbsp;&nbsp;ชื่อลูกค้า : &nbsp;" + siteName + "<br>";
			str += "&nbsp;&nbsp;&nbsp;แพ็คเกจ : &nbsp;" + packageName + "<br>"; 
			
			$('#modal_content_confirmSaveModal').html(str);
			$('#confirmSaveModal').modal();
		}
		
	});
	
	$("#btnClear").click(function(){
		$('#error_message').addClass('hide');  
		$('#success_message').addClass('hide'); 
		
		$("#inputSiteId").prop( "disabled", false );
		$("#inputSiteId").val("");
		$("#inputSiteName").val("");
		$('#inputPackageName').val("");
		$("#oldSiteId").val("");
		
		var table = $('#siteDataTable').DataTable();
		table.$('tr').removeClass('selected');
	});
	
	$("#inputSiteId").keyup(function() { 
		$('#error_message').addClass('hide');  
		$('#success_message').addClass('hide'); 
	});
	
	$("#inputSiteName").keyup(function() { 
		$('#error_message').addClass('hide');  
		$('#success_message').addClass('hide'); 
	});

});
function loadPackageName() {
	
	$.ajax({
		url : 'CS85000Srvl' , 
		type : "POST",
		data : {
			process_type: "getPackage" , 
		},
//		anync:false,
		dataType:"JSON",
		success: function(data){
			var selected="";
			var options = '';
			options += '<option value="">-- เลือกแพ็คเกจ --</option>';
			for (var i = 0; i < data.values.length; i++) {
				options += '<option value="' + data.values[i] + '" '+selected+'>' + data.messages[i] +  '</option>';
			}
			$("select#inputPackageName").html(options);
		}
	});
}

function renderDataTable() {
	
	var db = getDbStatus();
	
	if(db == false)
	{
		$("#content_error").text("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
		$('#error_message').removeClass('hide');
	}
	
	$("#siteDataTable")
			.DataTable(
					{
						"oLanguage" : {
							"oPaginate" : {
								"sFirst" : "หน้าแรก",// ปุ่มกลับมาหน้าแรก
								"sLast" : "หนัาสุดท้าย",// ปุ่มไปหน้าสุดท้าย
								"sNext" : "ถัดไป", // ปุ่มหน้าถัดไป
								"sPrevious" : "ก่อนหน้า" // ปุ่ม กลับ
							},
							"sLengthMenu" : "แสดง _MENU_ รายการ ต่อหน้า",
							"sZeroRecords" : "ไม่พบข้อมูลที่ค้นหา",
							"sInfo" : "แสดง _START_ ถึง _END_ จากทั้งหมด _TOTAL_ รายการ",
							"sEmptyTable" : "ไม่พบรายการข้อมูล",
							"sLoadingRecords" : "ระบบกำลังประมวลผล กรุณารอซักครู่",
							"sProcessing" : "ประมวลผลข้อมูล",
							"sInfoEmpty" : "ไม่พบรายการข้อมูลที่แสดง",
							"sInfoFiltered" : "(จากทั้งหมด _MAX_ รายการ)",
							"sSearch" : "ค้นหา :"
						},
						"searching" : true,
						"aoColumns" : [
								{
									"sTitle" : "ลำดับ",
									sClass : "alignCenter",
									sWidth : '50px'
								},
								{
									"sTitle" : "รหัส",
									sClass : "alignCenter",
									sWidth : '100px',
								},
								{
									"sTitle" : "ชื่อลูกค้า",
									sClass : "textLeft",
								},
								{
									"sTitle" : "แพ็คเกจ",
									sClass : "textLeft",
								},
								{
									"sTitle" : "จัดการ",
									sClass : "alignCenter table-action",
									sWidth : '100px',
									"bSortable" : false,
									"mRender" : function(data, type, full) {
										return '<i class="fa fa-wrench" title="แก้ไขข้อมูล" id="editButton" onclick="editData(\''
												+ full[0]
												+ '\',\''
												+ full[1]
												+ '\',\''
												+ full[2]
												+ '\',\''
												+ full[3]
												+ '\');"></i> '
												+ '<i class="fa fa-trash-o" title="ลบข้อมูล" onclick="deleteData(\''
												+ full[0]
												+ '\', \''
												+ full[1]
												+ '\', \''
												+ full[2]
												+ '\');"></i>';
									}
								} ],
						"sPaginationType" : "full_numbers",// แสดงตัวแบ่งหน้า
						"bLengthChange" : true, // แสดงจำนวน record
						// ที่จะแสดงในตาราง
						"iDisplayLength" : 10, // กำหนดค่า default ของจำนวน
						// record
						"bScrollCollapse" : true,
						"aLengthMenu" : [ [ 10, 25, 50, 100, -1 ], // จำนวนที่แสดงในตาราง
						[ 10, 25, 50, 100, "ทั้งหมด" ] // จำนวนที่ให้เลือก
						],
						"iDeferLoading" : 11,
						"bProcessing" : true, // เขียนโค้ดโดยระบุให้ไปดึงข้อมูลจากไฟล์
						// getDataTable มาทำงาน
						// โดยเอาข้อมูลที่ได้มาแสดงใน
						// table
						"sAjaxSource" : "CS85000Srvl?process_type=getDataTable",
					});
}

function getDbStatus() {

	var dbStatus = false;
	
	$.ajax({
		type : 'POST',
		url : "CS81000Srvl",
		data : {
			process_type : "db",
		},
		async : false,
		success : function(data) {
			
			if(data == "success")
				dbStatus = true;
			else
				dbStatus = false;
		},
		error : function()
		{
			dbStatus = false;
		}
	});
	
	return dbStatus;
}

function SaveCommand()
{	
	$('#confirmSaveModal').modal('hide');
	
	$('#error_message').addClass('hide');  
	$('#success_message').addClass('hide'); 
	
	var connect_db = getDbStatus();

	if (connect_db == false) {
		// Connect database fail
		$("#content_error").text("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
		$('#error_message').removeClass('hide');
	}
	else
	{
		var siteId = $('#inputSiteId').val();
		var siteName = $('#inputSiteName').val();
		var oldSiteId = $('#oldSiteId').val();
		var packageId = $("#inputPackageName option:selected").val();
		
		// Insert new data
		if(oldSiteId == "")
		{
			var jqXHR = $.ajax({
				type : 'POST',
				url : "CS85000Srvl",
				data : {
					process_type : "addSite" , 
					siteId : siteId.trim(),
					siteName : siteName.trim(),
					packageId : packageId.trim(),
					url_address:$("#url_address").val(), 
					agent_browser:$("#agent_browser").val()
				},
				async : false,
				success : function(data) 
				{
					if(data == "success")
					{
						window.location.reload();
					}
					else if(data == "connect_db_fail")
					{
						$("#content_error").text("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
						$('#error_message').removeClass('hide');
						
						$('#modal_content').html("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
						$('#warningModal').modal();
					}
					else if(data=="duplicate")
					{
						$('#modal_content').html("มีรหัสหรือชื่อลูกค้านี้อยู่ในระบบแล้ว กรุณากรอกข้อมูลใหม่อีกครั้ง");
						$('#warningModal').modal();
					}
					else if(data=="fail")
					{
						$('#modal_content').html("บันทึกข้อมูลลูกค้าที่ใช้บริการล้มเหลว");
						$('#warningModal').modal();
					}
					else
					{
						$('#modal_content').html("บันทึกข้อมูลลูกค้าที่ใช้บริการล้มเหลว");
						$('#warningModal').modal();
					}
				},
				error : function()
				{
					$('#modal_content').html("บันทึกข้อมูลผิดพลาด");
					$('#warningModal').modal();
				}
			});
		}
		// update old data
		else
		{
			var jqXHR = $.ajax({
				type : 'POST',
				url : "CS85000Srvl",
				data : {
					process_type : "editSite" , 
					siteId : siteId.trim(),
					siteName : siteName.trim(),
					oldSiteId : oldSiteId.trim(),
					packageId : packageId.trim(),
					url_address:$("#url_address").val(), 
					agent_browser:$("#agent_browser").val()
				},
				async : false,
				success : function(data) 
				{
					if(data == "success")
					{
						window.location.reload();
					}
					else if(data == "connect_db_fail")
					{
						$("#content_error").text("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
						$('#error_message').removeClass('hide');
						
						$('#modal_content').html("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
						$('#warningModal').modal();
					}
					else if(data=="no_site")
					{
						$('#modal_content').html("ไม่พบข้อมูลลูกค้าที่ใช้บริการนี้อยู่ในระบบ  กรุณาลองใหม่อีกครั้ง");
						$('#warningModal').modal();
					}
					else if(data == "duplicate")
					{
						$('#modal_content').html("มีรหัสหรือชื่อลูกค้านี้อยู่ในระบบแล้ว กรุณากรอกข้อมูลใหม่อีกครั้ง");
						$('#warningModal').modal();
					}
					else if(data=="fail")
					{
						$('#modal_content').html("บันทึกข้อมูลลูกค้าที่ใช้บริการล้มเหลว");
						$('#warningModal').modal();
					}
					else
					{
						$('#modal_content').html("บันทึกข้อมูลลูกค้าที่ใช้บริการล้มเหลว");
						$('#warningModal').modal();
					}
				},
				error : function()
				{
					$('#modal_content').html("บันทึกข้อมูลผิดพลาด");
					$('#warningModal').modal();
				}
			});
		}
		
		
	}
}

function editData(index, id, name,packageName)
{
	
	var table = $('#siteDataTable').DataTable();
	table.$('tr').removeClass('selected');
	
	$('#siteDataTable tr').each(function(row, tr){
		
		var index_search = $(tr).find('td:eq(0)').text();
		if(index == index_search)
		{
			$(tr).addClass('selected');
		}
	});
	
	$("#inputSiteId").val(id);
	$("#inputSiteId").prop( "disabled", true );
	$("#inputSiteName").val(name);
	if(packageName==""){
		$('#inputPackageName').val('');
	}
	else{
		$("#inputPackageName option:contains("+packageName+")").attr('selected', 'selected');
	}

	
	$("#oldSiteId").val(id);
}

function deleteData(index, id, name)
{
	var table = $('#siteDataTable').DataTable();
	table.$('tr').removeClass('selected');

	$("#inputSiteId").val("");
	$("#inputSiteName").val("");
	$("#oldSiteId").val("");
	
	$("#deleteSiteId").val(id);

	var str = "คุณต้องการลบข้อมูลลูกค้าที่ใช้บริการ<br>";
	str += "&nbsp;&nbsp;&nbsp;รหัส : &nbsp;" + id + "<br>";
	str += "&nbsp;&nbsp;&nbsp;ชื่อลูกค้า : &nbsp;" + name + "<br>";
	
	$('#modal_content_confirmModal').html(str);
	$('#confirmDeleteModal').modal();
}

function DeleteCommand()
{
	$('#confirmDeleteModal').modal('hide');
	
	$('#error_message').addClass('hide');  
	$('#success_message').addClass('hide'); 
	
	var siteId = $("#deleteSiteId").val();
	
	var jqXHR = $.ajax({
		type : 'POST',
		url : "CS85000Srvl",
		data : {
			process_type : "deleteSite" , 
			siteId : siteId.trim(),
			url_address:$("#url_address").val(), 
			agent_browser:$("#agent_browser").val()
		},
		async : false,
		success : function(data) 
		{
			if(data == "success")
			{
				window.location.reload();
			}
			else if(data == "connect_db_fail")
			{
				$("#content_error").text("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
				$('#error_message').removeClass('hide');
				
				$('#modal_content').html("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
				$('#warningModal').modal();
			}
			else if(data=="fail")
			{
				$('#modal_content').html("ลบข้อมูลลูกค้าที่ใช้บริการล้มเหลว");
				$('#warningModal').modal();
			}
			else if(data=="no_site")
			{
				$('#modal_content').html("ไม่พบข้อมูลลูกค้าที่ใช้บริการนี้อยู่ในระบบ  กรุณาลองใหม่อีกครั้ง");
				$('#warningModal').modal();
			}
			else
			{
				$('#modal_content').html("ลบข้อมูลลูกค้าที่ใช้บริการล้มเหลว");
				$('#warningModal').modal();
			}
		},
		error : function()
		{
			$('#modal_content').html("ลบข้อมูลผิดพลาด");
			$('#warningModal').modal();
		}
	});
}


